package com.fy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fy.pojo.dto.announcement.AnnouncementDTO;
import com.fy.pojo.dto.announcement.AnnouncementQueryDTO;
import com.fy.pojo.dto.announcement.UpdateAnnouncementDTO;
import com.fy.pojo.entity.Announcement;
import com.fy.utils.result.PageResult;
import com.fy.utils.result.Result;
import com.fy.pojo.dto.announcement.AddAnnouncementDTO;

public interface AnnouncementService extends IService<Announcement> {
    /**
     * 发布公告
     */
    Result publishAnnouncement(AnnouncementDTO announcementDTO);

    /**
     * 获取公告列表
     */
    Result<PageResult> getAnnouncementList(AnnouncementQueryDTO queryDTO);

    /**
     * 更新公告
     * 
     * @param updateAnnouncementDTO 更新公告信息
     * @return 更新结果
     */
    Result updateAnnouncement(UpdateAnnouncementDTO updateAnnouncementDTO);

    /**
     * 添加公告
     * 
     * @param addAnnouncementDTO 公告信息
     * @return 添加结果
     */
    Result addAnnouncement(AddAnnouncementDTO addAnnouncementDTO);
}